---
title: Arguments
summary: Command-line argument contract, accepted syntax, validation, and failure behavior for OnBaseKeywordSync.
status: draft
owner: Documents
last_reviewed: 2026-09-17
---

# Arguments

OnBaseKeywordSync declares **no command-line arguments**. `ArgumentContainer`'s `BuildArgumentResolvers` override calls only `base.BuildArgumentResolvers(argumentResolverBuilder)` and adds nothing; `StandardArgumentContainerBase` contributes no properties of its own†. All behavior is driven entirely by environment configuration — see [Configuration](configuration.md).

## Invocation

```
OnBaseKeywordSync.exe
```

## Argument contract

| Argument | Property type | Required | Default | Binding | Validation | Purpose |
| --- | --- | --- | --- | --- | --- | --- |
| *(none declared)* | — | — | — | — | — | The application takes no input; all behavior is driven by environment configuration. |

`README.md` independently states "Input — None", corroborating the empty contract. There is no writable non-`IConvertible` unconfigured property, so `HandleUnconfiguredArguments` has nothing to bind and cannot raise the implicit-conversion failure†. Any tokens supplied on the command line are parsed and then discarded because no property matches them*.

## Accepted syntax

The parser (`SaifStandardCommandLineParser`, pattern `^-{1,2}|^/|:|=`) would accept all of the following forms for any argument if one were declared — none currently are:†

| Form | Example |
| --- | --- |
| `-name value` | `-Argument value` |
| `--name` (flag) | `--Argument` |
| `/name` (flag) | `/Argument` |
| `name:value` | `Argument:value` |
| `name=value` | `Argument=value` |

A flag supplied with no value binds the string `"true"`. When a key appears more than once, the first occurrence wins.†

## Validation and failure behavior

Validation runs in `ResolveArguments()` before any application code executes. Because no argument is declared, this step always succeeds and the exit-code-1 argument-validation path is unreachable for this application*.

| Condition | Message |
| --- | --- |
| Missing required argument | `<ARGUMENT> is missing.` (not reachable — no required argument exists) |
| Unparseable value | `<ARGUMENT> '<value>' is not a valid <Type>.` (not reachable — no typed argument exists) |

### Application-specific validation

None beyond the resolver contract.

## Resolved argument echo

No argument resolution is echoed, because no argument is declared. There is no secret or PII value bound to any argument.

## Examples

| Scenario | Command |
| --- | --- |
| Standard run | `OnBaseKeywordSync.exe` |

## Related documentation
- [Application index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Run lifecycle](run-lifecycle.md)
- [Dependencies](dependencies.md)
- [Configuration](configuration.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Operational runbook](operational-runbook.md)
- [Tech debt](tech-debt.md)

> **Note:** Statements marked with `†` are derived from dependency library documentation via the Legends CLI. Statements marked with `*` were inferred from code structure or contextual evidence.

## Sources
- `OnBaseKeywordSync/Program.cs`
- `README.md`
